#ifndef __SOC_GPIO_H__
#define __SOC_GPIO_H__

#include "soc_common_def.h"


void SOC_GpioInit(SOC_GpioPort_t port, int pin, SOC_GpioMode_t mode);
void SOC_GpioWrite(SOC_GpioPort_t port, int pin, int val);
void SOC_GpioTrigger(SOC_GpioPort_t port, int pin);
int SOC_GpioRead(SOC_GpioPort_t port, int pin);

void SOC_GpioSetItMode(SOC_GpioPort_t port, int pin, SOC_GpioItMode_t mode);
void SOC_GpioSet_IT(SOC_GpioPort_t port, int pin, bool en);

//
void SOC_GpioInitExt(uint16_t portPin, SOC_GpioMode_t mode);
void SOC_GpioWriteExt(uint16_t portPin, int val);
void SOC_GpioTriggerExt(uint16_t portPin);
int SOC_GpioReadExt(uint16_t portPin);

void SOC_GpioSetItModeExt(uint16_t portPin, SOC_GpioItMode_t mode);
void SOC_GpioSet_ITExt(uint16_t portPin, bool en);

#endif 